Mutter recently added an optimization to only allocate
visible children [1]. That broke ClutterClones, but it
was subsequently fixed [2].
However, that exposed a third problem, this time with
FrequentView: visible but transparent icons, that are
not allocated by the icon grid, were cloned and animated
during the spring animation.
Only animate visible icons with opacity greater than 0.
[1] https://gitlab.gnome.org/GNOME/mutter/commit/
0eab73dc
[2] https://gitlab.gnome.org/GNOME/mutter/commit/
08a3cbfc
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/696
* set of items to be animated.
*/
_getChildrenToAnimate() {
- return this._getVisibleChildren();
+ return this._getVisibleChildren().filter(child => child.opacity > 0);
}
_resetAnimationActors() {
// Overridden from IconGrid
_getChildrenToAnimate() {
- let children = this._getVisibleChildren();
+ let children = super._getChildrenToAnimate();
let firstIndex = this._childrenPerPage * this.currentPage;
let lastIndex = firstIndex + this._childrenPerPage;